/**
 * 
 */
package com.bstek.code.service.querycolumn;

import java.util.Collection;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.bstek.code.dao.DBInfoDao;
import com.bstek.code.model.ColumnInfo;
import com.bstek.code.model.TableInfo;

/**
 * @description 
 * @author zhangkun
 * @date 2020年5月22日
 *
 */
@Service(QueryColumnService.BEAN_ID)
public class QueryColumnService {
	public static final String BEAN_ID = "MASTERSLAVESERVICE";
	
	@Resource(name = DBInfoDao.BEAN_ID)
	private DBInfoDao dbInfoDao;
	
	/**
	 * 
	 * @description 查询表名所对应的列
	 * @author zhangkun
	 * @date 2020年5月22日
	 * @param tableName
	 * @return ColumnInfo列的集合
	 * @throws Exception 
	 */
	public Collection<ColumnInfo> queryColumns(String tableName) throws Exception{
		return dbInfoDao.getFields(queryTableInfo(tableName));
	}
	
	/**
	 * 
	 * @description 根据表明查询对应表信息
	 * @author zhangkun
	 * @date 2020年5月22日
	 * @param tableName
	 * @return TableInfo对象
	 * @throws Exception 
	 */
	private TableInfo queryTableInfo(String tableName) throws Exception{
		List<TableInfo> tabs= dbInfoDao.getTablesByNames(tableName);
		if(tabs == null || tabs.size() <= 0) return null;
		return tabs.get(0);
	}

}
